The present invention relates to data communication systems and, more particularly, to a method for locating and retrieving data objects with an ad hoc data communication system.
Bluetooth is one of several specifications for short and medium range wireless communication systems. Bluetooth radio communication occurs at 2.4 GHz in the unlicensed Instrument, Scientific, and Medical (ISM) frequency band and utilizes frequency hopping to reduce interference and fading. The Bluetooth communication channel can support both data (asynchronous) and voice (synchronous) communications with a bandwidth of 1 Mbps. Bluetooth is intended to provide an interface for almost all types of digital electronic devices and to facilitate a universal bridge to existing data processing networks, such as the Internet.
Bluetooth is intended to permit compatible devices located within range of the radio transceiver to make a wireless connection with minimal direct action by a user. Bluetooth devices can interact with each other in several ways. The simplest scheme involves a point-to-point interaction of two devices where one acts as the master for synchronization purposes and the other as a slave in a network known as a piconet. The Bluetooth specification permits a piconet to include as many as seven active slave devices communicating in a point-to-multipoint topology over the communication channel shared by all of the devices. Two or more independent piconets can combine to form a nonsynchronized network known as a scatternet when a master or slave device of one piconet acts as a slave of the second piconet. The networks envisioned by the Bluetooth specification and other similar wireless communication systems are dynamic, ad hoc networks where clusters of data processing devices spontaneously form connections with each other for the purpose of communicating. Ad hoc networks are commonly characterized by the lack of a central access point or server and by dynamic and random entry and exit of network devices.
File or object transfer between devices is a defining function of a data communication network. The BLUETOOTH SPECIFICATION, Version 1.1, Bluetooth Special Interest Group, includes a FILE TRANSFER PROTOCOL, Part K:12, defining the application requirements for file transfers by interoperable Bluetooth devices. The profile defines protocols and procedures to support sharing, browsing and manipulating objects stored on remote devices and transferring objects between devices. However, a device user must manually set up the system and browse the shared objects of each connected device to locate a file or other object of interest. Further, if an object is transferred, the entire object must be transferred in a single session. These are substantial limitations for ad hoc networks of portable devices that may randomly move out of communication range.
Object search and retrieval services are also elements of wired data processing networks. One example is provided by Napstere® Internet information services where a central data base of remotely located user files is maintained for object searching. After locating a desired file by searching the data base, the file may be copied to a networked data processing device by peer to peer communication with the remote device on which the file is located. However, this type of service requires a server which is not available in an ad hoc network of temporarily connected devices and the network must be manually configured to facilitate the object transfer.
A second file location and retrieval protocol available on the Internet defines communication within a peer network or mesh of servants having attributes of a client and a server. Each servant is only aware of servants that are connected to it. Object search requests received by a servant are propagated through the network by passing the request on to all other servants connected to the receiver of the search request. File transfers are made peer to peer by remote devices. While this methodology eliminates the requirement of a central server, the network must be set up before the protocol can be used, limiting its usefulness in conjunction with dynamic ad hoc networks.
What is desired, therefore, is a method, requiring minimal user intervention, to locate and transfer data objects with a dynamic, ad hoc data processing system.